package main

import (
	"encoding/json"
	"fmt"
	"sort"
)

func main() {
	//createArray()
	//printArray()

	printMap()
}

//创建数组
func createArray() {
	var a = [3]int{1, 2, 3}
	fmt.Println(a, a[1:2])
}

/**
  输出数组
*/
func printArray() {
	//两种定义数组方式
	//str_arr:=make([]string,3)
	var str_arr [3]string
	str_arr[0] = "11"
	str_arr[1] = "22"
	str_arr[2] = "33"
	// 输出 字符串数组 中的 字符串
	for _, str := range str_arr {
		println(str)
	}

	// 输出 字符串数组 中的 字符串
	for i := 0; i < len(str_arr); i++ {
		println(str_arr[i])
	}
}

func printMap() {
	mapData := make(map[string]string)
	mapData["a"] = "1"
	mapData["b"] = "2"
	mapData["c"] = "3"

	//map 的遍历过程使用 for range 循环完成，代码如下：
	for k, v := range mapData {
		println(k, v)
	}

	// 声明一个切片保存map数据
	var sceneList []string
	// 将map数据遍历复制到切片中
	for k := range mapData {
		sceneList = append(sceneList, k)
	}

	// 对切片进行排序
	sort.Strings(sceneList)
	strBytes, _ := json.Marshal(sceneList)
	println(string(strBytes))

}
